import { request } from "../../request/index.js"
import regeneratorRuntime from '../../lib/runtime/runtime'

// pages/category/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    // 左侧菜单数据
    leftMenuList: [],
    // 右侧商品数据
    rightContent: [],
    // 被点击左侧菜单
    currentIndex: 0,
    // 右边滚动条距离顶部距离
    scrollTop: 0
  },

  Cates: [],

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // this.getCates();
    // 获取本地存储的数据
    const Cates = wx.getStorageSync("cates");
    // 开始判断
    if (!Cates) {
      this.getCates();
    } else {
      // 有旧数据 定义过期时间 10s
      if (Date.now() - Cates.time > 1000 * 10) {
        this.getCates();
      } else {
        console.log("可以使用旧数据");
        this.Cates = Cates.data;
        // 构造左侧大菜单数据
        let leftMenuList = this.Cates.map(v => v.cat_name);
        // 构造右侧的商品数据
        let rightContent = this.Cates[0].children;

        this.setData({
          leftMenuList,
          rightContent
        });
      }
    }

  },

  async getCates() {
    // request({
    //   url: "/categories"
    // })
    //   .then(res => {
    //     // console.log(res);
    //     this.Cates = res.data.message;

    //     // 把接口数据存储到本地存储中
    //     wx.setStorageSync("cates", { time: Date.now(), data: this.Cates });


    //     // 构造左侧大菜单数据
    //     let leftMenuList = this.Cates.map(v => v.cat_name);
    //     // 构造右侧的商品数据
    //     let rightContent = this.Cates[0].children;

    //     this.setData({
    //       leftMenuList,
    //       rightContent
    //     });
    //   }

    //   )

    //1 使用ES7 ASYNC AWAIT
    const res = await request({ url: "/categories" });
    this.Cates = res;

    // 把接口数据存储到本地存储中
    wx.setStorageSync("cates", { time: Date.now(), data: this.Cates });


    // 构造左侧大菜单数据
    let leftMenuList = this.Cates.map(v => v.cat_name);
    // 构造右侧的商品数据
    let rightContent = this.Cates[0].children;

    this.setData({
      leftMenuList,
      rightContent
    });
  },

  handleItemTap(e) {
    // console.log(e);
    const { index } = e.currentTarget.dataset;

    // 构造右侧的商品数据
    let rightContent = this.Cates[index].children;

    this.setData({
      rightContent,
      currentIndex: index,
      scrollTop: 0
    });

  }


})